home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 2000
/
MacHack 2000.toast
/
pc
/
The Hacks
/
Softshoe
/
Lisa's Mac Parts
/
Views
/
View Options
/
SuggestsPaneSize.h
< prev
Wrap
Text File
|
2000-06-23
|
2KB
|
85 lines
// SuggestsPaneSize.h
#ifndef SuggestsPaneSize_h
#define SuggestsPaneSize_h
#ifndef Range_h
#include "Range.h"
#endif
#ifndef Point32_h
#include "Point32.h"
#endif
class SuggestsPaneSize
{
protected:
~SuggestsPaneSize() {}
public:
virtual int32 MinimumWidth() const;
virtual int32 MinimumHeight() const;
virtual int32 MaximumWidth() const;
virtual int32 MaximumHeight() const;
virtual int32 ReasonableWidth() const;
virtual int32 ReasonableHeight() const;
// The bounds ranges are to be interpreted weakly:
// bounds.Start() <= result <= bounds.End().
virtual int32 BestWidth( Range32 bounds ) const;
virtual int32 BestHeight( Range32 bounds ) const;
virtual int32 BestRevealedWidth( Range32 bounds ) const;
virtual int32 BestRevealedHeight( Range32 bounds ) const;
virtual int32 BestRevealedLeft( Range32 bounds ) const;
virtual int32 BestRevealedTop( Range32 bounds ) const;
Point32 MinimumSize() const
{
return Point32( MinimumWidth(),
MinimumHeight() );
}
Point32 MaximumSize() const
{
return Point32( MaximumWidth(),
MaximumHeight() );
}
Point32 ReasonableSize() const
{
return Point32( ReasonableWidth(),
ReasonableHeight() );
}
Point32 BestSize( Range32 horizontal,
Range32 vertical ) const
{
return Point32( BestWidth( horizontal ),
BestHeight( vertical ) );
}
Point32 BestRevealedSize( Range32 horizontal,
Range32 vertical ) const
{
return Point32( BestRevealedWidth( horizontal ),
BestRevealedHeight( vertical ) );
}
Point32 BestRevealedPosition( Range32 horizontal,
Range32 vertical ) const
{
return Point32( BestRevealedLeft( horizontal ),
BestRevealedTop( vertical ) );
}
static const SuggestsPaneSize& Zero();
static const SuggestsPaneSize& LargestPossible();
static const SuggestsPaneSize& SmallestPossible();
};
#endif